package com.xiyun.f1t100;

/*
58. 最后一个单词的长度
简单

给你一个字符串 s，由若干单词组成，单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。

单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。



示例 1：

输入：s = "Hello World"
输出：5
解释：最后一个单词是“World”，长度为 5。
示例 2：

输入：s = "   fly me   to   the moon  "
输出：4
解释：最后一个单词是“moon”，长度为 4。
示例 3：

输入：s = "luffy is still joyboy"
输出：6
解释：最后一个单词是长度为 6 的“joyboy”。


提示：

1 <= s.length <= 104
s 仅有英文字母和空格 ' ' 组成
s 中至少存在一个单词
 */
public class LastWord_58 {
    public static int resolve() {
        String s = " a ";
        return new Solution().lengthOfLastWord(s);
    }

    static class Solution {
        public int lengthOfLastWord(String s) {
            if (s.isEmpty()) {
                return 0;
            }
            char[] chars = s.toCharArray();
            int startIndex = -1;
            for (int i = chars.length - 1; i >= 0; i--) {
                if (chars[i] == ' ') {
                    if (startIndex != -1) {
                        return startIndex - i;
                    }
                } else {
                    if (startIndex == -1) {
                        startIndex = i;
                    }
                }
            }
            return startIndex + 1;
        }
    }
}
